To correctly display an image with a display device, a frame rate converter in the display device needs to first perform frame rate conversion supposing a frame rate from an image source is different from that of the display device. When the frame rate converter in the display device receives image frames from the image source, the frames are first stored to a plurality of built-in frame buffers, each provided for temporarily storing a frame, and are then outputted from the frame buffers to a display panel. The frame buffers function as a circular buffer. More specifically, supposing the display device comprises n frame buffers buf0 to bufn-1, the display device stores the image frames from the source to the buffers buf0, buf1 . . . and bufn-1 in order, and again stores a next image frame to the frame buffer buf0 after the frame buffer bufn-1 to overwrite the frame previously stored in the frame buffer buf0, thereby storing the image frames in a cyclical manner. In the event that the frame rate of the image source (to be referred to as the input frame rate) is different from the frame rate of the display device (to be referred to as the output frame rate), an issue of frame tearing may be incurred if an order of frame output follows frame input. For example, when the output frame rate is greater than the input frame rate, the output frames eventually “catch up” with the input frames if frames are outputted from the frame buffers by consistently following an order of the input frame buffers, such that a same frame is being simultaneously inputted to and outputted from a same frame buffer to result in frame tearing. On the other hand, when the output frame rate is less than the input frame rate, the above situation that the output frames catching up with the input frame is eliminated. However, since the frame buffers operate in a cyclic manner, if the frames are outputted by following the order of input frames, the issue of a same frame being simultaneously inputted to and outputted from a same frame buffer nevertheless occurs since the input frames catch up to the output frames.
To avoid the issue of frame tearing, a solution provided by the prior art is to output a frame by another frame buffer if a next predetermined frame buffer is inputting a frame, so as to prevent simultaneously inputting and outputting frames to and from a same frame buffer. Yet, when images provided by an image source are 3D images, other issues may arise when a frame rate converter adopts the foregoing prior solution although the issue of frame tearing is avoided.
Each 3D image is displayed by a frame pair, i.e., each image frame has a left frame and a corresponding right frame. From an image source that provides 3D images, a series of frame pairs are provided in order, with the left frames and right frames alternately presented. Further, in a typical approach, a left is presented before a right frame of a frame pair. However, when the foregoing prior solution for avoiding the issue of frame tearing is implemented for displaying 3D images, a failure of alternately displaying left and right frames may result, as shown in FIG. 1. In FIG. 1, suppose the output frame rate is greater than the input frame rate, the display device comprises four frame buffers buf0 to buf3, and the input frames are L1, R1, L2, R2, L3, R3, L4 . . . , with L1, L2 . . . being left frames, R1, R2 . . . being right frames, and (L1, R1), (L2, R2) . . . being frame pairs. The frame rate converter respectively inputs the frames L1, R1, L2, R2, L3, R3, L4, R4 . . . into the frame buffers buf0, buf1, buf2, buf3, buf0, buf1, buf2, buf3 . . . . Meanwhile, before the outputting the frames, the frame rate converter determines which frame buffer is being inputted (at time points indicated by arrows in FIG. 1) to avoid the frame buffer that is being inputted, and a frame buffer previously having been inputted is selected for output. As observed from FIG. 1, after outputting the frame R1, since the next frame L2 is still being inputted to the frame buffer buf2 (at the time point indicated by an arrow 11), the frame buffer bufa previously having been inputted is selected to repeatedly output R1, such that an order of the outputted frames is L1, R1, R1, L2, R2, L3, R3 . . . —an order of alternating left and right frames is not maintained. Thus, display effects of 3D images are undesirably affected.